import axios from 'axios'
import store from '@/store'
// 手动创建一个 axios 对象, 参考: https://github.com/axios/axios#creating-an-instance
const request = axios.create({
    // 请求配置参考: https://github.com/axios/axios#request-config
    // 根据不同环境设置 baseURL, 最终发送请求时的URL为: baseURL + 发送请求时写URL ,
    // 比如 get('/test'), 最终发送请求是: /dev-api/test
    // baseURL: '/dev-api',
    baseURL: '/',
    timeout: 5000 // 请求超时
});
// 请求拦截器:只要发送请求，就会触发这个拦截器
request.interceptors.request.use(config => {
    store.dispatch("show", true); // 打开加载效果
    return config
}, error => {
    // 出现异常
    store.dispatch("show", false); // 关闭加载效果
    return Promise.reject(error);
});
// 响应拦截器:如果服务器有响应，就会触发这个拦截器
request.interceptors.response.use(response => {
    store.dispatch("show", false); // 关闭加载效果
    return response
}, erro => {
    store.dispatch("show", false);
})
export default request // 导出 axios 对象